520 X = X +1: INPUT NM$(X):NM$(X) = MID$ (NM$(X),2,29):TXT$(X) = MID$ (NM$(X),1,16):TP$(X) = MID$ (NM$(X),17,3): IF X >4 AND NM$(X) = "" THEN 535
525 GOTO 520
535 PRINT D$;"CLOSE";DR$(1): REM IF THIS LINE # IS CHANGED, CHANGE LINE # 40010
700 CNT = X -4
950 GOSUB 15000: GOSUB 16000
1000 & "MENU",NM$(4),CNT,DR$(1),P$,SE(2)
1005 IF CNT = 0 AND SE(2) = 0 THEN TEXT : HOME : PRINT "/RAM is empty ": PRINT : PRINT "Press <RETURN> to continue.": PRINT CHR$(8): GET A$
1010 IF SE(2) = 0 THEN 230: REM <ESC> GOES BACK
1040 IF TP$(SE(2) +3) = "DIR" THEN PRINT D$;"PREFIX";TXT$(SE(2) +3): GOTO 470
1050 FL = 0: IF TP$(SE(2) +3) < >"TXT" AND TP$(SE(2) +3) < >"AWP" AND SE(1) < >5 THEN FL = 1: GOSUB 12000
1060 IF FL = 1 THEN 950
1500 ON SE(1) GOSUB 5000,5000,7000,20000,22000
1600 IF AG = 1 THEN 470
1610 IF AG = 0 THEN 210
5000 IF SE(1) = 1 THEN PRINT D$;"PR#0"
5010 IF SE(1) = 2 THEN PRINT D$;"PR#3": REM IF THIS LINE # IS CHANGED THEN CHANGE LINE 40020
5020 TEXT : HOME : PRINT D$;"DOGPAW";TXT$(SE(2) +3): GOTO 8800
7000 IF TP$(SE(2) +3) = "AWP" THEN 7100
7010 PRINT D$;"OPEN";TXT$(SE(2) +3)
7020 PRINT D$;"READ";TXT$(SE(2) +3)
7030 TEXT : HOME :CR = 0: VTAB 12: HTAB 8: PRINT "Analyzing textfile format ";: & "WINDOW",10,14,1,40: INVERSE : & "BORDER IN","^": NORMAL : FOR B = 1 TO 800: GET A$: IF A$ = CHR$(13) THEN CR = CR +1
7035 NEXT
7050 PRINT D$;"CLOSE"
7075 GOSUB 11000
7100 TEXT : HOME : IF CZ >99 OR TP$(SE(2) +3) = "AWP" THEN GOSUB 14000: PRINT D$;"PR#";PS: PRINT D$;"DOGPAW";TXT$(SE(2) +3);"\";TXT$(SE(2) +3);"PAGE #": PRINT D$;"PR#0": GOTO 8800
7200 TEXT : HOME : IF CZ <100 THEN GOSUB 14000: PRINT D$;"PR#";PS: PRINT D$;"DOGPAW";TXT$(SE(2) +3);"@\";TXT$(SE(2) +3);"PAGE #": PRINT D$;"PR#0": GOTO 8800
8010 P$ = "Use arrows or numbers, <ESC> goes back"
8040 GOSUB 15000
8050 & "MENU",SL$(1),7,M$(2),P$,SE(3)
8100 IF SE(3) = 0 THEN RETURN
8150 IF SE(3) = 1 THEN PRINT D$;"PREFIX,S6,D1
8200 IF SE(3) = 2 THEN PRINT D$;"PREFIX,S6,D2
8250 IF SE(3) = 3 THEN PRINT D$;"PREFIX,S5,D1
8300 IF SE(3) = 4 THEN PRINT D$;"PREFIX,S5,D2
8325 IF SE(3) = 5 THEN PRINT D$;"PREFIX/RAM5
8350 IF SE(3) = 6 THEN GOSUB 9000: IF ESC = 1 THEN 8000
8360 IF SE(3) = 6 THEN PRINT D$;"PREFIX,"YS$;",";YD$
8400 IF SE(3) = 7 THEN 42000
8450 RETURN
8800 PRINT CHR$(12); CHR$(21): GOSUB 15000: GOSUB 16000: GOSUB 17000: HOME : VTAB 15: HTAB 3: PRINT "Do the same operation on another file": HTAB 3: PRINT "from the same directory? Y (Y/N)";
8820 AG = 0: GET AG$: HOME : IF AG$ = CHR$(13) OR AG$ = "Y" OR AG$ = "y" THEN AG = 1
8850 RETURN
9000 GOSUB 16000:ESC = 0: HOME : POKE -16368,0: VTAB 10: PRINT "Enter Slot #: ";: PRINT CHR$(8);: POKE 36,15: GET YS$: PRINT YS$: IF YS$ = CHR$(27) THEN ESC = 1: RETURN
9010 YS = VAL(YS$):YS$ = "S" +YS$
9025 IF YS >7 OR YS <1 THEN GOSUB 10000: INVERSE : VTAB 12: HTAB 14: PRINT "NO SUCH SLOT": NORMAL : VTAB 16: HTAB 7: PRINT "Press <RETURN> to try again.";: POKE 36,34: GET A$: GOTO 9000
9050 POKE -16368,0:ESC = 0: VTAB 12: PRINT "Enter Drive #: ";: POKE 36,15: GET YD$: PRINT YD$: IF YD$ = CHR$(27) THEN ESC = 1: RETURN
9060 YD = VAL(YD$):YD$ = "D" +YD$
9075 IF YD >2 OR YD <1 THEN GOSUB 10000: INVERSE : VTAB 15: HTAB 14: PRINT "NO SUCH DRIVE": NORMAL : VTAB 19: HTAB 7: PRINT "Press <RETURN> to try again.";: POKE 36,34: GET A$: PRINT : GOTO 9050
9200 RETURN
10000 & "SOUND EFFECTS",50,255: RETURN
11000 IF CR = 0 THEN CR = 1
11005 CZ = B/CR: REM CALCULATE RATIO OF TEXT TO CARRIAGE RETURNS
11010 RETURN
12000 IF SE(1) = 5 THEN RETURN
12010 HOME : GOSUB 10000: VTAB 10: HTAB 7: PRINT " Please choose Appleworks": VTAB 11: HTAB 7: PRINT " or text file."
12050 & "WINDOW",8,13,6,33: INVERSE : & "BORDER IN","^": NORMAL
12100 TEXT : VTAB 18: HTAB 7: PRINT "Press <RETURN> to continue ";: PRINT CHR$(8);: GET A$: HOME : RETURN
13000 TEXT : HOME : VTAB 12: HTAB 12: PRINT "Reading Directory": & "WINDOW",10,14,1,40: INVERSE : & "BORDER IN","^": NORMAL : TEXT : RETURN
14000 TEXT : HOME : VTAB 12: HTAB 11: PRINT "Preparing to Print": & "WINDOW",10,14,1,40: INVERSE : & "BORDER IN","^": NORMAL : TEXT : RETURN
22050 PRINT "You are about to permanently destroy": PRINT : PRINT TXT$(SE(2) +3): PRINT : PRINT "Do you really want to do this? (Y/N)";: POKE 36,36: GET A$
22100 IF A$ < > CHR$(27) AND A$ < >"Y" AND A$ < >"y" AND A$ < >"N" AND A$ < >"n" THEN GOSUB 10000: HOME : GOTO 22025
22150 IF A$ = CHR$(27) OR A$ = "n" OR A$ = "N" THEN 210
40000 PRINT D$;"CLOSE": TEXT : HOME :EN = PEEK(222):LN = PEEK(218) + PEEK(219) *256
40003 RF = 0: IF EN = 5 AND LN = 520 AND DR$(1) = "/RAM" THEN RF = 1: GOTO 535
40005 IF EN = 5 AND LN = 520 THEN PRINT "No files on this disk": GOTO 40500
40010 IF EN = 5 AND B <800 THEN GOSUB 11000
40015 IF EN = 5 AND B <800 THEN PRINT D$;"CLOSE": GOSUB 7075: CALL 54915: GOTO 1600
40020 IF EN = 3 AND LN = 5010 THEN PRINT "You do not have a compatible": PRINT "eighty column card": GOTO 40500
40023 IF EN = 3 AND LN = 20000 THEN PRINT "You do not have a compatible": PRINT "eighty column card": GOTO 40500
40025 IF EN = 3 AND LN = >8149 AND LN <8400 THEN PRINT "No such drive on this system.": GOTO 40500
40040 IF EN = 6 AND LN = 500 THEN PRINT "OOPS! Different disk. Press <RETURN>": PRINT "for the 1st menu and then you'll be": PRINT "Able to read the new disk. ";: PRINT CHR$(8);: GET A$: POKE -16368,0: CALL 54915: RUN 200
40050 IF EN = 6 AND LN = 8325 THEN PRINT "RAM5 not found. Is your RAM disk set": PRINT "to larger than 0K?": GOTO 40500
40060 IF EN = 6 AND LN = 15 THEN PRINT "DOGPAW not found.": PRINT "A copy of the binary file DOGPAW": PRINT "must be in the same directory as TEXTER.": PRINT "Please go to the original disk and": PRINT "copy DOGPAW to the current directory."
40065 IF EN = 6 AND LN = 15 THEN PRINT : PRINT "PRESS <RETURN> ";: PRINT CHR$(8);: GET A$: PRINT CHR$(4);"BYE"
40370 IF EN = 8 THEN PRINT "I/O ERROR": PRINT "Do you have a disk in the selected": PRINT "drive? Is the door closed?": PRINT "Is the disk a ProDOS disk?": GOTO 40500
40380 IF EN = 6 THEN PRINT "Path not found.": GOTO 40500
40390 IF EN = 3 THEN PRINT "No device connected.": GOTO 40500
40400 POKE -16368,0: PRINT "ERROR # ";EN;: PRINT " IN LINE # ";LN: PRINT "PRESS <RETURN> TO CONTINUE ": PRINT CHR$(8): GET A$: RUN 200
40500 PRINT : PRINT "Press <RETURN> to continue. ";: PRINT CHR$(8);: GET A$: RUN 200
42000 TEXT : HOME : & "RESTORE AMP": PRINT D$;"CLOSE": PRINT D$;"PREFIX/": POKE 216,0: PRINT D$;"BYE"
55000 : REM #CONVERT MENU TEXT TO UPPER CASE IF II+ :IF PEEK (-1101) < >6 THEN GOSUB 55000
55050 V$ = "00165103133074165104133075160004177074240015201127176008201097144004041223145074200208237160000177074170200177074134074133075177074208219096": FOR A = 768 TO 813:V = VAL( MID$ (V$,3 *(A -767),3)): POKE A,V: NEXT